// 导入数据库操作模块
const sql = require('../db/index')
// 导入 bcryptjs 这个包
const bcrypt = require('bcryptjs')

exports.user = (req, res) => {
  const body = req.body
  console.log(body)
  // 查询数据库 *(所有) 表单为 my_form 里 所有username   ? 为占位符代表条件
  const query = 'select * from ev_form where username=?'
  // ()  第一位为sql
  sql.query(query, body.username, (err, result) => {
    // err 为执行错误信息    result为数据
    if (err) {
      return res.cc(err)
    }
    // 判断影响行数  能查询到证明数据库表单里存在这个值
    if (result.length > 0) {
      return res.cc('用户名已存在')
    }
    // 调用 bcrypt.hashSync() 对密码进行加密  10代表盐的长度
    body.password = bcrypt.hashSync(body.password, 10)
    // 插入数据
    const sqlint = 'insert into ev_form set ?'

    sql.query(
      sqlint,
      { username: body.username, password: body.password },
      (err, result) => {
        if (err) return res.cc(err)
        if (!result.affectedRows) return res.send('注册失败')
        res.send({
          status: 200,
          data: 'ok',
          message: '注册成功',
        })
      }
    )
  })
}
